#pragma once
#include "IMediator.h"
/**
 * The Base Component provides the basic functionality of storing a mediator's
 * instance inside component objects.
 */
class IBaseComponent {
protected:
    IMediator* mediator_;

public:
    IBaseComponent(IMediator* mediator = nullptr) : mediator_(mediator) 
    {
    }
    void set_mediator(IMediator* mediator) 
    {
        this->mediator_ = mediator;
    }
};